package com.apiauto.util;

import org.testng.IRetryAnalyzer;
import org.testng.ITestResult;

import com.apiauto.log.Log;

/**
 * PS:重跑机制类
 * @author lkk
 *
 */
public class TestNGRetry implements IRetryAnalyzer {
	// 设置当前的重跑次数
	private int retryCount = 1;
	// 设置最大重跑次数,定义为常量
	private static final int maxRetryCount = 3;
	/**
	 * PS:重写重跑机制方法
	 */
	@Override
	public boolean retry(ITestResult result) {
		if (retryCount <= maxRetryCount) {
			// 输出当前的重跑次数以及当前的正在重跑的用例名称。
			Log.error("it's the " + retryCount + "times retry.And the current case is " + result.getName());
			// 重跑之后，次数+1
			retryCount++;
			// 当return true之后，代表继续重跑
			return true;
		}
		return false;// return false之后，代表停止重跑
	}
	//将重跑次数重置为1
	public void reSetCount(){
        retryCount=1;
    }
}
